package com.wwc.business.controller.dto.train_station;

import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 更新火车车站 DTO
 */
@Data
@ToString
public class TrainStationUpdateDTO{
	/**
	 * id
	 */
	@NotNull(message = "车次id不能为空")
	private Long id;
	/**
	 * 车次编号
	 */
	@NotBlank(message = "车次编号不能为空")
	private String trainCode;
	/**
	 * 站序
	 */
	@NotNull(message = "站序不能为空")
	private Integer index;
	/**
	 * 站名
	 */
	@NotBlank(message = "站名不能为空")
	private String name;
	/**
	 * 站名拼音
	 */
	@NotBlank(message = "站名拼音不能为空")
	private String namePinyin;
	/**
	 * 进站时间
	 */
	@NotNull(message = "进站时间不能为空")
	@JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
	private Date inTime;
	/**
	 * 出站时间
	 */
	@NotNull(message = "出站时间不能为空")
	@JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
	private Date outTime;
	/**
	 * 停站时长
	 */
	@NotNull(message = "停站时长不能为空")
	@JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
	private Date stopTime;
	/**
	 * 里程（公里）|从上一站到本站的距离
	 */
	@NotNull(message = "里程不能为空")
	private BigDecimal km;
	/**
	 * 新增时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date createTime;
	/**
	 * 修改时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date updateTime;
}

